#include "LCS_Calculator.hpp"

int main(){
    string x = "CDAABADBDD";
    string y = "DCABCCABCA";
    auto calc = LCS_Calculator(&x, &y);
    calc.run();

    cout << "预运行完成。上一次运行结果不用于验证复杂度。" << endl << endl;
    //run()函数第一次调用时运行速度较慢，之后运行速度正常，可能是编译器优化和系统堆栈管理的原因
    //所以第一次作为预运行，不用于验证复杂度

    calc = LCS_Calculator(&x, &y);
    calc.run();

    x = "BCDADCCBCDDCCDC";
    y = "ACCBAADBACCACDB";
    calc = LCS_Calculator(&x, &y);
    calc.run();

    x = "BABBCBBACADADCABBADA";
    y = "CBACDAAABDCBDBDBABAA";
    calc = LCS_Calculator(&x, &y);
    calc.run();

    x = "BDCCBABDDDBBBBDCDDCDDBADD";
    y = "CDCDBABBCCCBDDBCADCCACBDD";
    calc = LCS_Calculator(&x, &y);
    calc.run();

    x = "ABDDDBBDDBDCDDBBCDBDDCCBCCDCCC";
    y = "ADDACABBAAACCCCAADABBCCADDDCBD";
    calc = LCS_Calculator(&x, &y);
    calc.run();
}